package com.southminority.ethnic.service.token;

import com.southminority.ethnic.pojo.User;

/**
 * Token验证服务接口
 * 
 * @author SouthMinority
 */
public interface TokenService {
    
    /**
     * 验证token并返回用户信息
     * @param token 用户token
     * @return 用户信息，如果token无效返回null
     */
    User validateToken(String token);
    
    /**
     * 检查token是否有效
     * @param token 用户token
     * @return 是否有效
     */
    boolean isTokenValid(String token);
    
    /**
     * 刷新token（如果即将过期）
     * @param token 当前token
     * @return 新的token，如果不需要刷新返回原token
     */
    String refreshTokenIfNeeded(String token);
    
    /**
     * 使token失效
     * @param token 用户token
     */
    void invalidateToken(String token);
} 